[INFO] cloning repository https://github.com/m77can/path-matcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/m77can/path-matcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm77can%2Fpath-matcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm77can%2Fpath-matcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dae00d16cba31cb03da0f618e612ac1da162202f
[INFO] testing m77can/path-matcher against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm77can%2Fpath-matcher" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/m77can/path-matcher
[INFO] finished tweaking git repo https://github.com/m77can/path-matcher
[INFO] tweaked toml for git repo https://github.com/m77can/path-matcher written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/m77can/path-matcher on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/m77can/path-matcher already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memchr v2.4.1
[INFO] [stderr]   Downloaded regex v1.5.4
[INFO] [stderr]   Downloaded regex-syntax v0.6.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 74f4441bf5f9a598af18efbac7224f427d701523e778ef989bd4fefb4bbc79a5
[INFO] running `Command { std: "docker" "start" "-a" "74f4441bf5f9a598af18efbac7224f427d701523e778ef989bd4fefb4bbc79a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74f4441bf5f9a598af18efbac7224f427d701523e778ef989bd4fefb4bbc79a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74f4441bf5f9a598af18efbac7224f427d701523e778ef989bd4fefb4bbc79a5", kill_on_drop: false }`
[INFO] [stdout] 74f4441bf5f9a598af18efbac7224f427d701523e778ef989bd4fefb4bbc79a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5572bb40aa75911ba682e2aeb9bd594606f2c8866fd9a0ac8ea2fd60dbe833e
[INFO] running `Command { std: "docker" "start" "-a" "b5572bb40aa75911ba682e2aeb9bd594606f2c8866fd9a0ac8ea2fd60dbe833e", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling path-matcher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AntPathMatcher` and `PathMatcher`
[INFO] [stdout]  --> src/tests.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::path_matcher::{AntPathMatcher, PathMatcher};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod tests;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CACHE_TURNOFF_THRESHOLD` is never used
[INFO] [stdout]  --> src/path_matcher.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static CACHE_TURNOFF_THRESHOLD: usize = 65536;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WILDCARD_CHARS` is never used
[INFO] [stdout]  --> src/path_matcher.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static WILDCARD_CHARS: [char; 3] = ['*', '?', '{'];
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOB_PATTERN` is never used
[INFO] [stdout]   --> src/path_matcher.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static GLOB_PATTERN: &'static str = r"\?|\*|\{((?:\{[^/]+?\}|[^/{}]|\\[{}])+?)\}";
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DEFAULT_VARIABLE_PATTERN` is never used
[INFO] [stdout]   --> src/path_matcher.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | static DEFAULT_VARIABLE_PATTERN: &'static str = "((?s).*)";
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PathMatcher` is never used
[INFO] [stdout]   --> src/path_matcher.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait PathMatcher {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path_separator`, `case_sensitive`, `trim_tokens`, `cache_patterns`, `tokenized_pattern_cache`, and `string_matcher_cache` are never read
[INFO] [stdout]   --> src/path_matcher.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AntPathMatcher {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 31 |     path_separator: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     case_sensitive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     trim_tokens: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 34 |     cache_patterns: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     tokenized_pattern_cache: HashMap<String, Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     string_matcher_cache: HashMap<String, AntPathStringMatcher>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/path_matcher.rs:56:8
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl AntPathMatcher {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn do_match(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn is_potential_match(&self, path: &str, patt_dirs: &Vec<String>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn skip_segment(&self, patch: &str, pos: usize, prefix: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn skip_separator(&self, path: &str, pos: usize, separator: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn is_wildcard_char(&self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn match_strings(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn get_string_matcher(&mut self, pattern: &str) -> AntPathStringMatcher {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn tokenize_pattern(&mut self, pattern: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn tokenize_path(&self, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn tokenize_to_vec(&self, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn deactivate_pattern_cache(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw_pattern`, `exact_match`, `case_sensitive`, `regex`, and `variable_names` are never read
[INFO] [stdout]    --> src/path_matcher.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct AntPathStringMatcher {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 417 |     raw_pattern: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 418 |     exact_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 419 |
[INFO] [stdout] 420 |     case_sensitive: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     regex: Option<Regex>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 422 |     variable_names: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AntPathStringMatcher` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `match_string` are never used
[INFO] [stdout]    --> src/path_matcher.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl AntPathStringMatcher {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 427 |     fn new(pattern: &str, case_sensitive: bool) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn match_string(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring` is never used
[INFO] [stdout]    --> src/path_matcher.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn substring(str: &str, begin: usize, end: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote` is never used
[INFO] [stdout]    --> src/path_matcher.rs:543:4
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn quote(s: &str, start: usize, end: usize) -> String {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matches` is never used
[INFO] [stdout]    --> src/path_matcher.rs:550:4
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn matches(regex: &Regex, s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.89s
[INFO] running `Command { std: "docker" "inspect" "b5572bb40aa75911ba682e2aeb9bd594606f2c8866fd9a0ac8ea2fd60dbe833e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5572bb40aa75911ba682e2aeb9bd594606f2c8866fd9a0ac8ea2fd60dbe833e", kill_on_drop: false }`
[INFO] [stdout] b5572bb40aa75911ba682e2aeb9bd594606f2c8866fd9a0ac8ea2fd60dbe833e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad0b4ad14a3356744367de75570f110ec1baf7acaf299d0f870041f58b657a30
[INFO] running `Command { std: "docker" "start" "-a" "ad0b4ad14a3356744367de75570f110ec1baf7acaf299d0f870041f58b657a30", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `AntPathMatcher` and `PathMatcher`
[INFO] [stdout]  --> src/tests.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::path_matcher::{AntPathMatcher, PathMatcher};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod tests;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CACHE_TURNOFF_THRESHOLD` is never used
[INFO] [stdout]  --> src/path_matcher.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static CACHE_TURNOFF_THRESHOLD: usize = 65536;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling path-matcher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: static `WILDCARD_CHARS` is never used
[INFO] [stdout]  --> src/path_matcher.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static WILDCARD_CHARS: [char; 3] = ['*', '?', '{'];
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOB_PATTERN` is never used
[INFO] [stdout]   --> src/path_matcher.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static GLOB_PATTERN: &'static str = r"\?|\*|\{((?:\{[^/]+?\}|[^/{}]|\\[{}])+?)\}";
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DEFAULT_VARIABLE_PATTERN` is never used
[INFO] [stdout]   --> src/path_matcher.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | static DEFAULT_VARIABLE_PATTERN: &'static str = "((?s).*)";
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PathMatcher` is never used
[INFO] [stdout]   --> src/path_matcher.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait PathMatcher {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path_separator`, `case_sensitive`, `trim_tokens`, `cache_patterns`, `tokenized_pattern_cache`, and `string_matcher_cache` are never read
[INFO] [stdout]   --> src/path_matcher.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct AntPathMatcher {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 31 |     path_separator: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     case_sensitive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     trim_tokens: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 34 |     cache_patterns: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     tokenized_pattern_cache: HashMap<String, Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     string_matcher_cache: HashMap<String, AntPathStringMatcher>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/path_matcher.rs:56:8
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl AntPathMatcher {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn do_match(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn is_potential_match(&self, path: &str, patt_dirs: &Vec<String>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn skip_segment(&self, patch: &str, pos: usize, prefix: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn skip_separator(&self, path: &str, pos: usize, separator: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn is_wildcard_char(&self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn match_strings(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn get_string_matcher(&mut self, pattern: &str) -> AntPathStringMatcher {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn tokenize_pattern(&mut self, pattern: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn tokenize_path(&self, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn tokenize_to_vec(&self, path: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn deactivate_pattern_cache(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw_pattern`, `exact_match`, `case_sensitive`, `regex`, and `variable_names` are never read
[INFO] [stdout]    --> src/path_matcher.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct AntPathStringMatcher {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 417 |     raw_pattern: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 418 |     exact_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 419 |
[INFO] [stdout] 420 |     case_sensitive: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     regex: Option<Regex>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 422 |     variable_names: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AntPathStringMatcher` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `match_string` are never used
[INFO] [stdout]    --> src/path_matcher.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl AntPathStringMatcher {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 427 |     fn new(pattern: &str, case_sensitive: bool) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn match_string(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substring` is never used
[INFO] [stdout]    --> src/path_matcher.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn substring(str: &str, begin: usize, end: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote` is never used
[INFO] [stdout]    --> src/path_matcher.rs:543:4
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn quote(s: &str, start: usize, end: usize) -> String {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matches` is never used
[INFO] [stdout]    --> src/path_matcher.rs:550:4
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn matches(regex: &Regex, s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_pattern`, `match_start`, `extract_path_within_pattern`, and `extract_uri_template_variables` are never used
[INFO] [stdout]   --> src/path_matcher.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait PathMatcher {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] 16 |     fn is_pattern(&self, path: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn match_start(&mut self, pattern: &str, path: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 21 |     fn extract_path_within_pattern(&mut self, pattern: &str, path: &str) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |
[INFO] [stdout] 23 |     fn extract_uri_template_variables(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.75s
[INFO] running `Command { std: "docker" "inspect" "ad0b4ad14a3356744367de75570f110ec1baf7acaf299d0f870041f58b657a30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad0b4ad14a3356744367de75570f110ec1baf7acaf299d0f870041f58b657a30", kill_on_drop: false }`
[INFO] [stdout] ad0b4ad14a3356744367de75570f110ec1baf7acaf299d0f870041f58b657a30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1aacde767d3a0b990aa27cbe6bec6cc264d32f66e827825e1d0960b6bf14014d
[INFO] running `Command { std: "docker" "start" "-a" "1aacde767d3a0b990aa27cbe6bec6cc264d32f66e827825e1d0960b6bf14014d", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `AntPathMatcher` and `PathMatcher`
[INFO] [stderr]  --> src/tests.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::path_matcher::{AntPathMatcher, PathMatcher};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | mod tests;
[INFO] [stderr]   | ^^^^^^^^^^
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static `CACHE_TURNOFF_THRESHOLD` is never used
[INFO] [stderr]  --> src/path_matcher.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | static CACHE_TURNOFF_THRESHOLD: usize = 65536;
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static `WILDCARD_CHARS` is never used
[INFO] [stderr]  --> src/path_matcher.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | static WILDCARD_CHARS: [char; 3] = ['*', '?', '{'];
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `GLOB_PATTERN` is never used
[INFO] [stderr]   --> src/path_matcher.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | static GLOB_PATTERN: &'static str = r"\?|\*|\{((?:\{[^/]+?\}|[^/{}]|\\[{}])+?)\}";
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `DEFAULT_VARIABLE_PATTERN` is never used
[INFO] [stderr]   --> src/path_matcher.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | static DEFAULT_VARIABLE_PATTERN: &'static str = "((?s).*)";
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `PathMatcher` is never used
[INFO] [stderr]   --> src/path_matcher.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub trait PathMatcher {
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path_separator`, `case_sensitive`, `trim_tokens`, `cache_patterns`, `tokenized_pattern_cache`, and `string_matcher_cache` are never read
[INFO] [stderr]   --> src/path_matcher.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct AntPathMatcher {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] 31 |     path_separator: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 32 |     case_sensitive: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     trim_tokens: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 34 |     cache_patterns: Option<bool>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 35 |     tokenized_pattern_cache: HashMap<String, Vec<String>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 36 |     string_matcher_cache: HashMap<String, AntPathStringMatcher>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/path_matcher.rs:56:8
[INFO] [stderr]     |
[INFO] [stderr]  39 | impl AntPathMatcher {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  56 |     fn do_match(
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     fn is_potential_match(&self, path: &str, patt_dirs: &Vec<String>) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     fn skip_segment(&self, patch: &str, pos: usize, prefix: &str) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 221 |     fn skip_separator(&self, path: &str, pos: usize, separator: &str) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 229 |     fn is_wildcard_char(&self, c: char) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 238 |     fn match_strings(
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     fn get_string_matcher(&mut self, pattern: &str) -> AntPathStringMatcher {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 274 |     fn tokenize_pattern(&mut self, pattern: &str) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 305 |     fn tokenize_path(&self, path: &str) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 310 |     fn tokenize_to_vec(&self, path: &str) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 330 |     fn deactivate_pattern_cache(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `raw_pattern`, `exact_match`, `case_sensitive`, `regex`, and `variable_names` are never read
[INFO] [stderr]    --> src/path_matcher.rs:417:5
[INFO] [stderr]     |
[INFO] [stderr] 416 | pub struct AntPathStringMatcher {
[INFO] [stderr]     |            -------------------- fields in this struct
[INFO] [stderr] 417 |     raw_pattern: String,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 418 |     exact_match: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 419 |
[INFO] [stderr] 420 |     case_sensitive: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 421 |     regex: Option<Regex>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 422 |     variable_names: Vec<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AntPathStringMatcher` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `match_string` are never used
[INFO] [stderr]    --> src/path_matcher.rs:427:8
[INFO] [stderr]     |
[INFO] [stderr] 426 | impl AntPathStringMatcher {
[INFO] [stderr]     | ------------------------- associated items in this implementation
[INFO] [stderr] 427 |     fn new(pattern: &str, case_sensitive: bool) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 493 |     pub fn match_string(
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `substring` is never used
[INFO] [stderr]    --> src/path_matcher.rs:535:4
[INFO] [stderr]     |
[INFO] [stderr] 535 | fn substring(str: &str, begin: usize, end: usize) -> String {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `quote` is never used
[INFO] [stderr]    --> src/path_matcher.rs:543:4
[INFO] [stderr]     |
[INFO] [stderr] 543 | fn quote(s: &str, start: usize, end: usize) -> String {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `matches` is never used
[INFO] [stderr]    --> src/path_matcher.rs:550:4
[INFO] [stderr]     |
[INFO] [stderr] 550 | fn matches(regex: &Regex, s: &str) -> bool {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_pattern`, `match_start`, `extract_path_within_pattern`, and `extract_uri_template_variables` are never used
[INFO] [stderr]   --> src/path_matcher.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub trait PathMatcher {
[INFO] [stderr]    |           ----------- methods in this trait
[INFO] [stderr] 16 |     fn is_pattern(&self, path: &str) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     fn match_start(&mut self, pattern: &str, path: &str) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 21 |     fn extract_path_within_pattern(&mut self, pattern: &str, path: &str) -> String;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 22 |
[INFO] [stderr] 23 |     fn extract_uri_template_variables(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `path-matcher` (lib) generated 13 warnings (run `cargo fix --lib -p path-matcher` to apply 1 suggestion)
[INFO] [stderr] warning: `path-matcher` (lib test) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/path_matcher-d86cc4865866324b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests path_matcher
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1aacde767d3a0b990aa27cbe6bec6cc264d32f66e827825e1d0960b6bf14014d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1aacde767d3a0b990aa27cbe6bec6cc264d32f66e827825e1d0960b6bf14014d", kill_on_drop: false }`
[INFO] [stdout] 1aacde767d3a0b990aa27cbe6bec6cc264d32f66e827825e1d0960b6bf14014d
